<?php

/**
 * gestion_de_registro actions.
 *
 * @package    progresion-scout
 * @subpackage gestion_de_registro
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 12479 2008-10-31 10:54:40Z fabien $
 */
class gestion_de_registroActions extends sfActions
{
	/**
	* Muestra un listado de las unidades del usuario actual
	*
	*/
	public function executeMostrar_listado_de_unidades(sfWebRequest $request)
	{
	  	$gestorDeUnidad = new GestorDeUnidadImpl(new UnidadDaoImpl());
	  	$this->unidades = $gestorDeUnidad->encontrarTodos();
	  	$gestorDeUnidad = null;
	    $this->setTemplate('listado_de_unidades');
  	}
	
    public function executeMostrar_nomina_de_unidad(sfWebRequest $request){
  	
    	$gestorDeUnidad = new GestorDeUnidadImpl(new UnidadDaoImpl());
  		$this->unidad = $gestorDeUnidad->encontrar($request->getParameter('unidad_id'));

	  	$criterioDeBusqueda = new CriterioDeBusqueda();
	  	$criterioDeBusqueda->agregar('unidad_persona.unidad_id',$this->unidad->getId(),'=');
	  	$estadoUnidadPersona = new UnidadActual();
	  	$criterioDeBusqueda->agregar('unidad_persona.estado_unidad_persona_id',$estadoUnidadPersona->getDiscriminador(),'=');
	  	$estadoUnidadPersona = null;
	
	  	$criterioDeBusqueda->agregarOrden('persona.nombres','ASC');
	  	$criterioDeBusqueda->agregarOrden('persona.apellidos','ASC');
	
	  	$this->personasUnidad = $gestorDeUnidad->encontrarTodosUnidadPersonas($criterioDeBusqueda);
	
	  	$criterioDeBusqueda = null;
	  	$gestorDeUnidad = null;

    	$this->setTemplate('listado_de_personas_de_la_unidad');
  }
  
   public function executeMostrar_detalle_persona(sfWebRequest $request){

	  	$gestorDeUnidad = new GestorDeUnidadImpl(new UnidadDaoImpl());
	  	$this->unidad = $gestorDeUnidad->encontrar($request->getParameter('unidad_id'));
	  	$gestorDeUnidad = null;
	
	  	$gestorDePersona = new GestorDePersonaImpl(new PersonaDaoImpl());
	  	$this->persona = $gestorDePersona->encontrar($request->getParameter('persona_id'));
	  	$gestorDePersona = null;
	
	    $this->setTemplate('detalle_persona');
  }
  
    public function executeMostrar_registro_de_unidad(sfWebRequest $request){

	  	$gestorDeUnidad = new GestorDeUnidadImpl(new UnidadDaoImpl());
	  	$this->unidad = $gestorDeUnidad->encontrar($request->getParameter('unidad_id'));
	
	
	  	$criterioDeBusqueda = new CriterioDeBusqueda();
	  	$criterioDeBusqueda->agregar('unidad_persona.unidad_id',$this->unidad->getId(),'=');
	  	$estadoUnidadPersona = new UnidadActual();
	  	$criterioDeBusqueda->agregar('unidad_persona.estado_unidad_persona_id',$estadoUnidadPersona->getDiscriminador(),'=');
	  	$estadoUnidadPersona = null;
	
	    $criterioDeBusqueda->agregarOrden('persona.nombres','ASC');
	  	$criterioDeBusqueda->agregarOrden('persona.apellidos','ASC');
	
	  	$this->unidadPersonas = $gestorDeUnidad->encontrarTodosUnidadPersonas($criterioDeBusqueda);
	  	$gestorDeUnidad = null;
	
	    //Salida CSV
	    $this->getResponse()->setContentType('text/comma-separated-values');
	    $this->getResponse()->setHttpHeader('Content-Disposition', 'attachment; filename="registro_unidad.csv"');
	    $this->setLayout(false);
	    $this->setTemplate('registro_de_unidad');
    }
  
  
}
